The present disclosure relates to address translation, and more specifically, to direct memory access (DMA) translation in virtualized systems.
Modern computing systems, for example server class computers, can utilize DMA translation mechanisms to enable input/output (I/O) virtualization. DMA translation can also allow for the sharing of a physical I/O device across multiple operating system (OS) images. This can allow for access to large real or physical memories using smaller address sizes. Systems may also use DMA translation mechanisms to protect some areas of system memory. For example, memory containing an OS kernel or hypervisor may be protected from unauthorized DMA.
Direct memory access in virtualized environments may require software or firmware to generate a table of translations between the address presented to a DMA controller and the actual target address in the system memory.